|
ガード (Guard)とは、プログラム内のある分岐で処理を続けるために真 (true)と評価されなければならないブーリアン型の式である。Haskell、Clean、Erlang、occam、OCamlといったプログラミング言語や多くの並行論理プログラミング言語で使われる用語。Mathematica ではガードを''constraint''と呼ぶ。ガードは形式手法の言語であるGuarded Command Languageの基本概念でもある。ガードはパターンマッチの能力を強化することができ、たとえ構造がマッチしていてもパターンをスキップさせることが可能である。ブーリアン型の式はif文でも使われていて、ここでのガードの定義にも合致しているが、一般に「条件式」と呼ばれる。 == 例 == 以下の Haskell のコード例で、"|" と "=" の間の部分がガードである。 f x | x > 0 = 1 | otherwise = 0 これは、以下の数学的表記法に似ている。 この場合、ガードは "if"節と "otherwise"節にある。 上記の例のように複数の並列のガードがある場合、先頭から順に評価され、最初に真となった分岐が選択される。 Haskell のリスト内包表記でのガード列は、1つでも偽であった場合にそのリスト要素が生成されない。これはつまり、個々のガードを論理積で結合したと見なすことができるが、リスト内包表記にはガード以外も列挙される。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ガード (プログラミング)」の詳細全文を読む スポンサード リンク
|